/**
描述
  某商店规定：三个空汽水瓶可以换一瓶汽水，允许向老板借空汽水瓶（但是必须要归还）。
  小张手上有n个空汽水瓶，她想知道自己最多可以喝到多少瓶汽水。
  数据范围：输入的正整数满足 1 \le n \le 100 \1≤n≤100 


  输入描述：
  输入文件最多包含 10 组测试数据，每个数据占一行，仅包含一个正整数 n（ 1<=n<=100 ），表示小张手上的空汽水瓶数。n=0 表示输入结束，你的程序不应当处理这一行。

  输出描述：
  对于每组测试数据，输出一行，表示最多可以喝的汽水瓶数。如果一瓶也喝不到，输出0。


  示例1
  输入：
      3
      10
      81
      0
  输出：
      1
      5
      40
  81
  27 + 9 + 3 + 1
*/
const readline = require('readline')
const rl = readline.createInterface({
  input:process.stdin,
  output:process.stdout
})

let count = 0
let surplus = 0
let exchange = 0
function transform(input) {
  if (input < 3) {
    return 0
  }
  // 已换饮料
  exchange = Math.floor(input / 3)
  count += exchange

  // 剩余空瓶
  surplus = input % 3
  
  // 还可以换
  if(exchange + surplus >= 3) {
    transform(exchange + surplus)
  } else {
    // 当刚好两个的时候 借一个 凑够 3 个
    if (exchange + surplus === 2) {
      transform(3)
    } else {
      console.log(count)
    }
  }
}

// 本地测试
// let input = [3, 10, 81]
// transform(3)
let input = []

// 提交测试
rl.on('line', (line) => {
  if (line) {
    // 处理接收
    if (line == 0) {
      input.forEach((item) => {
        count = 0
        transform(item)
      })
    } else {
      input.push(line)
    }
  }
})